/*
24/12/17
First time to use beasearch, I used to write it my self.
I didn't read the problem propoly , so the quicksort part is useless
interesting stdlib.h but I don't understand the advantage
*/
#include<stdio.h>
#include<stdlib.h>
int ar[1000001];
// void swap(int *a,int *b)
// {
//     int temp=*a;
//     *a=*b;
//     *b=temp;
// }
// int partition(int a[],int low,int high)
// {
//     int pivot=a[high];
//     int flag=(low-1);
//     int i;
//     for(i=low;i<=high-1;i++)
//     if(a[i]<pivot)
//     {
//         flag++;
//         swap(&a[i],&a[flag]);
//     }
//     swap(&a[flag+1],&a[high]);
//     return flag;
// }
// void qSort(int a[],int low,int high)
// {
//     if(low<high)
//     {
//         int flag=partition(a,low,high);
//         qSort(a,low,flag-1);
//         qSort(a,flag+1,high);
//     }
// }
int comp_ints(const void *a,const void *b)
{
    int s1=*(int*)a;
    int s2=*(int*)b;
    if(s1<s2)return -1;
    if(s1>s2) return 1;
    return 0;
}
int main(){
    int n,q,i,key;
    scanf("%d%d",&n,&q);
    for(i=0;i<=n-1;i++)
    scanf("%d",&ar[i]);
    // qSort(a,0,n-1);
    for(i=1;i<=q;i++)
    {
        scanf("%d",&key);
        int *item=(int *)bsearch(&key,&ar[0],n,sizeof(int),comp_ints);
        if(item==NULL)printf("-1\n");
        else printf("%ld\n",item-&ar[0]);
    }
    // for(i=0;i<=n-1;i++)
    // printf(" %d",ar[i]);
    return 0;
}